package com.water_work_form.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.water_work_form.entity.RecordDrugTest;

import java.io.IOException;
import java.util.List;
import java.util.Map;

/**
 * 混凝-进厂药剂检测记录 服务类
 * @author 余繁
 */
public interface RecordDrugTestService extends IService<RecordDrugTest> {

    /**
     * 混凝-进厂药剂检测记录 项目查询
     * @param type 项目类型（type） 若非空则进行匹配查询（基本上不会为空，前端给定默认值）
     * @param status 项目状态（status） 若非空进行匹配查询
     * @param startSampleDate 取样日期（sample_date）范围查询开始日期 若非空查询sample_date大于startSampleDate的数据
     * @param endSampleDate 取样日期（sample_date）范围查询结束日期 若非空查询sample_date小于endSampleDate的数据
     * @param current 分页 当前页
     * @param size 分页 每页数据量
     * @return 返回对应数据
     */
    IPage<RecordDrugTest> selectRecordDrugTest(String type, String status, String startSampleDate,String endSampleDate, Integer current, Integer size);

    /**
     * 混凝-进厂药剂检测记录  基础表数据查询
     * @param type 项目类型（type） formula表name，medical表name，restriction表name
     * @param name form表name
     * @return 返回相应数据 表名为键名
     */
    Map<String,Object> selectBasicDrugTest(String type, String name);

    void downloadRecordDrugTest(List<RecordDrugTest> recordDrugTestList, String restrictionString, String formulaContentString, String formulaDescriptionString, String medicalString) throws IOException;
}
